// 必须的包
import 'dart:async';
import 'package:floor/floor.dart';
import 'package:share_fit/app/dao/altitude_dao.dart';
import 'package:share_fit/app/dao/cadence_dao.dart';
import 'package:share_fit/app/dao/effect_dao.dart';
import 'package:share_fit/app/dao/pace_dao.dart';
import 'package:share_fit/app/dao/sports_dao.dart';
import 'package:share_fit/app/dao/heart_rate_dao.dart';
import 'package:share_fit/app/dao/menstrual_dao.dart';
import 'package:share_fit/app/dao/spo2_dao.dart';
import 'package:share_fit/app/dao/step_dao.dart';
import 'package:share_fit/app/dao/stress_dao.dart';
import 'package:share_fit/app/dao/weekly_report_dao.dart';
import 'package:share_fit/app/dao/workout_dao.dart';
import 'package:share_fit/app/models/home/edit_widget_item.dart';
import 'package:share_fit/app/models/home/heart_rate_model.dart';
import 'package:share_fit/app/models/home/menstrual_mode.dart';
import 'package:share_fit/app/models/home/spo2_model.dart';
import 'package:share_fit/app/models/home/step_model.dart';
import 'package:share_fit/app/models/home/stress_model.dart';
import 'package:share_fit/app/models/home/weekly_report_model.dart';
import 'package:share_fit/app/models/home/workout_model.dart';
import 'package:share_fit/app/dao/sleep_dao.dart';
import 'package:share_fit/app/models/home/sleep_model.dart';
import 'package:share_fit/app/models/sports/altitude_model.dart';
import 'package:share_fit/app/models/sports/cadence_model.dart';
import 'package:share_fit/app/models/sports/effect_model.dart';
import 'package:share_fit/app/models/sports/pace_model.dart';
import 'package:share_fit/app/models/sports/sports_model.dart';
import 'package:sqflite/sqflite.dart' as sqflite;

part 'ute_database.g.dart';

// 执行命令 flutter pub run build_runner build --delete-conflicting-outputs
@Database(
    version: 1, //
    entities: [
      SleepModel,
      EditWidgetItem,
      HeartRateModel,
      Spo2Model,
      StressModel,
      StepModel,
      WorkoutModel,
      MenstrualModel,
      SportsModel,
      PaceModel,
      CadenceModel,
      AltitudeModel,
      EffectModel,
    ], //
    views: [
      WeeklyReportModel
    ])
abstract class UteDatabase extends FloorDatabase {
  SleepDao get sleepDao;

  HeartRateDao get heartRateDao;

  Spo2Dao get spo2Dao;

  StressDao get stressDao;

  StepDao get stepDao;

  WorkoutDao get workoutDao;

  WeeklyReportDao get weeklyReportDao;

  MenstrualDao get menstrualDao;

  SportsDao get sportsDao;

  AltitudeDao get altitudeDao;

  PaceDao get paceDao;

  CadenceDao get cadenceDao;

  EffectDao get effectDao;
}
